This invention relates to a system for controlling retransmission of data when, in a digital signal transmitting system in which communication is carried out in a packet mode using a communication cable such as a coaxial cable, data sent to the communication cable collide with each other.
As electronic computers have come into wide use and digital signal processing techniques have been developed, data communication is spotlighted in which the communication system and the data processing system are combined, to process data on line. Especially in small scale communication systems such as those in government and public offices or companies, the packet type communication system using a communication cable such as a coaxial cable is watched with keen interest because it is economical, high in reliability and transmission efficiency.
In the packet type communication system, for two-way transmission, a communication cable is installed at a laboratory or the like, and a number of stations (personal stations) are connected to the cable. Each station transmits a message which is divided into data blocks of 1,000 to 2,000 bits for instance. The message is provided with a header including a destination, message number, etc. In the communication system, the network itself is a passive transmission medium having no control function, and therefore the control is distributed to the stations. Accordingly, to access a channel, each station confirms that the transmission path is not being used before it starts transmitting signals. When the packet signal of one station collides with that of another station, these two stations stop transmitting the signals, and try to transmit the signals again after random periods of time. A system for controlling retransmission of messages as described above is called "a retransmission control system."
A variety of retransmission control systems have been proposed in the art. FIG. 1 is a diagram of one of the most famous of these systems, namely, a binary exponential back-off protocol (hereinafter referred to as "a BEB protocol"). It is assumed that stations A, B and C are arranged on a communication cable at predetermined intervals in the stated order. Each station detects the presence or absence of a carrier, to determine whether or not a packet having a message is being transmitted on the communication cable. It is assumed that stations A and B internally provide requests for transmitting messages (hereinafter referred to as "transmission request") SR-A1 and SR-B1 at substantially the same time. If, at that time instant, none of the stations transmit packets, then stations A and B immediately start packets A1 and B1 (as indicated at S-A1 and S-B1), respectively. The packet A1 of station A is delayed when propagated over the coaxial cable. Therefore, the packet A1 is received by the station B after a first time interval and is received by the station C after a second time interval longer than the first. Similarly, the packet B1 of station B is received by stations A and C after ceratin time delays.
Each station has a collision detecting circuit for detecting when packets collide with each other. When the collision occurs, the stations A and B immediately stop transmitting their packets and then try to retransmit their packets after predetermined waiting periods of time.
In the BEB protocol, a station with which the collision has taken place is allowed to look for an empty block in which to transmit its packet after a predetermined retransmission interval t.sub.1. The retransmission interval t.sub.1 is represented by the following expression (1): EQU t.sub.1 =.tau..multidot.n (1)
where .tau. is the time unit for the retransmission interval, being called "slot time," and n is an interger in the range which is defined by the following expression: EQU 0.ltoreq.n.ltoreq.2.sup.l ( 2)
The integer n is generated by a random number generator. In expression (2), l is the number of collisions. The value l is stored in a counter or memory in a station which transmits a packet, and it is increased by one whenever the collision occurs and is cleared to zero when the transmission has been achieved. Thus, in the retransmission control system according to the BEB protocol, as the number of collisions increases, the retransmission interval is increased according to the average thereof.
In the case of FIG. 1, the first collision takes place between stations A and B, and therefore the integer n is 0 or 1. It is assumed that the stations A and B produce the second retransmission requests SR-Aw and SR-B2, for instance, in 1.tau., and immediately start transmitting packets A2 and B2. In this case, the second collision takes place similarly, as in the above-described case. It is assumed that, as a result of this, the station A produces the third transmission request SR-A3 in 1.tau. and the station B produces the third transmission request SR-B3 in 2.tau.. Furthermore, it is assumed that, before these transmission requests, SR-A3 and SR-B3, are made the station C has made a transmission request SR-C1 and has started transmitting a packet C1 as indicated at S-C1. If, as shown in FIG. 1, the transmission request SR-A3 is made after the station A has received the packet C1, the other stations cannot transmit their packets until transmission of the packet C1 has been accomplished. That is, the stations A and B wait until reception of packet C1 has been completed, and then start transmitting the packets A3 and B3 as indicated at S-A3 and S-B3, respectively. As a result, a collision of packets occurs with the stations A and B. When the collision of packets is detected, the stations A and B try to make their fourth try at packet transmissions. The above-described operation is repeatedly carried out. Thus, when a signal, transmitted by one station, is received by the other stations, no signal transmissions are carried out by the latter, as in the case of the packet C1 transmitted by the station C. The transmission of the latter station's packet can be achieved only after the signal transmission by the one station is completed.
As is apparent from the above description, in the conventional retransmission control system according to the BEB protocol, as the number of packet collisions increase, the retransmission intervals are gradually increased. Accordingly, if a plurality of stations make new transmission requests one after another under the condition that the channels are busy, then the stations are liable to initially, repeatedly transmit their packets at short retransmission intervals. This is, in the system, even if empty channels are available then and there, the collision of packets occurs sucessively with these channels, which lowers the channel utilization percentage.